<HTML>
  <HEAD>
    <TITLE>threadpool Documentation</TITLE>
    <LINK HREF="threadpool.css" REL="stylesheet" TYPE="text/css">
  </HEAD>
  <BODY BGCOLOR="#FFFFFF">

    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>

          <TD ALIGN="LEFT">
            <B>threadpool</B>
          </TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="../index.html">Overview</A> |
            <A CLASS="qindex" HREF="../reference/annotated.html">Reference</A> |
            <A CLASS="qindex" HREF="../tutorial/intro.html">Tutorial</A> |
            <A CLASS="qindex" HREF="../examples/intro.html">Examples</A> |
            <A CLASS="qindex" HREF="../design/intro.html">Design</A>
          </TD>

        </TR>
      </TABLE>
    </DIV>
    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>
          <TD ALIGN="LEFT">
            <B>Reference</B>
          </TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="annotated.html">Class List</A> |
            <A CLASS="qindex" HREF="functions.html">Member Functions</A> |
            <A CLASS="qindex" HREF="namespacemembers.html">Typedefs</A> |
            <A CLASS="qindex" HREF="files.html">File List</A>
          </TD>
        </TR>
      </TABLE>
    </DIV>
<!-- Generated by Doxygen 1.6.1 -->
  <div class="navpath"><a class="el" href="a00022.html">boost</a>::<a class="el" href="a00023.html">threadpool</a>::<a class="el" href="a00003.html">future</a>
  </div>
<div class="contents">
<h1>boost::threadpool::future&lt; Result &gt; Class Template Reference</h1><!-- doxytag: class="boost::threadpool::future" -->
<p>Experimental. Do not use in production code. TODO.  
<a href="#_details">More...</a></p>

<p><a href="a00026.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef Result&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a5c92a802f3c0d359df1adde078ce29dc">future_result_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef Result const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a1fc4f71950bae7ed2da03a1351632308">cancel</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#aa5f3763bb5744f0e9c93511320a8cb58">future</a> (shared_ptr&lt; detail::future_impl&lt; Result &gt; &gt; const &amp;impl)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#aa6dd25fb3fdf9aa08fc8e717ef82f16a">future</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a7a4c96e26df00c208c042f8bc451aae5">get</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a5e69be7f923e55752472b8d8e03eac29">is_cancelled</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a5a744da9ad9746ade1f64f93eda13249">operator()</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a8dbeb39974d24cc91e82f5d83d4ac8ba">ready</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a19db862f732df1b8e49da5bf2b0cebce">timed_wait</a> (boost::xtime const &amp;timestamp) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#abaff292f21d3fb305426735e0347e2a0">wait</a> () const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class Result&gt;<br/>
 class boost::threadpool::future&lt; Result &gt;</h3>

<p>Experimental. Do not use in production code. TODO. </p>
<p>TODO Future</p>
<dl class="see"><dt><b>See also:</b></dt><dd>TODO </dd></dl>

<p>Definition at line <a class="el" href="a00015_source.html#l00043">43</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a5c92a802f3c0d359df1adde078ce29dc"></a><!-- doxytag: member="boost::threadpool::future::future_result_type" ref="a5c92a802f3c0d359df1adde078ce29dc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef Result <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::<a class="el" href="a00003.html#a5c92a802f3c0d359df1adde078ce29dc">future_result_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Indicates the future's result type. </p>

<p>Definition at line <a class="el" href="a00015_source.html#l00050">50</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ad6fbc53d4a200a329a6b201bf86cf3fb"></a><!-- doxytag: member="boost::threadpool::future::result_type" ref="ad6fbc53d4a200a329a6b201bf86cf3fb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef Result const&amp; <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::<a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Indicates the functor's result type. </p>

<p>Definition at line <a class="el" href="a00015_source.html#l00049">49</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa6dd25fb3fdf9aa08fc8e717ef82f16a"></a><!-- doxytag: member="boost::threadpool::future::future" ref="aa6dd25fb3fdf9aa08fc8e717ef82f16a" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::<a class="el" href="a00003.html">future</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00055">55</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa5f3763bb5744f0e9c93511320a8cb58"></a><!-- doxytag: member="boost::threadpool::future::future" ref="aa5f3763bb5744f0e9c93511320a8cb58" args="(shared_ptr&lt; detail::future_impl&lt; Result &gt; &gt; const &amp;impl)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::<a class="el" href="a00003.html">future</a> </td>
          <td>(</td>
          <td class="paramtype">shared_ptr&lt; detail::future_impl&lt; Result &gt; &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>impl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00061">61</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1fc4f71950bae7ed2da03a1351632308"></a><!-- doxytag: member="boost::threadpool::future::cancel" ref="a1fc4f71950bae7ed2da03a1351632308" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::cancel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00091">91</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a7a4c96e26df00c208c042f8bc451aae5"></a><!-- doxytag: member="boost::threadpool::future::get" ref="a7a4c96e26df00c208c042f8bc451aae5" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a> <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::get </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00086">86</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a5e69be7f923e55752472b8d8e03eac29"></a><!-- doxytag: member="boost::threadpool::future::is_cancelled" ref="a5e69be7f923e55752472b8d8e03eac29" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::is_cancelled </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00096">96</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a5a744da9ad9746ade1f64f93eda13249"></a><!-- doxytag: member="boost::threadpool::future::operator()" ref="a5a744da9ad9746ade1f64f93eda13249" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html#ad6fbc53d4a200a329a6b201bf86cf3fb">result_type</a> <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00081">81</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a8dbeb39974d24cc91e82f5d83d4ac8ba"></a><!-- doxytag: member="boost::threadpool::future::ready" ref="a8dbeb39974d24cc91e82f5d83d4ac8ba" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::ready </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00066">66</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a19db862f732df1b8e49da5bf2b0cebce"></a><!-- doxytag: member="boost::threadpool::future::timed_wait" ref="a19db862f732df1b8e49da5bf2b0cebce" args="(boost::xtime const &amp;timestamp) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::timed_wait </td>
          <td>(</td>
          <td class="paramtype">boost::xtime const &amp;&nbsp;</td>
          <td class="paramname"> <em>timestamp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00076">76</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="abaff292f21d3fb305426735e0347e2a0"></a><!-- doxytag: member="boost::threadpool::future::wait" ref="abaff292f21d3fb305426735e0347e2a0" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Result&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00003.html">boost::threadpool::future</a>&lt; Result &gt;::wait </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00071">71</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
</div>
    <BR>
    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>
		  <TD CLASS="tiny" ALIGN="LEFT">Copyright &copy 2005-2008 Philipp Henkel</TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="../index.html">Overview</A> |
            <A CLASS="qindex" HREF="../reference/annotated.html">Reference</A> |
            <A CLASS="qindex" HREF="../tutorial/intro.html">Tutorial</A> |
            <A CLASS="qindex" HREF="../examples/intro.html">Examples</A> |
            <A CLASS="qindex" HREF="../design/intro.html">Design</A>
          </TD>
        </TR>       
      </TABLE>
    </DIV>  
  </BODY>
</HTML>
